package com.imooc.springboot.entity;

import java.io.Serializable;
import java.util.Date;

/**
 * 
 * @ClassName: StandDataItem
 * @Description: 采集数据项
 * @author L.sc
 * @date 2020年2月18日
 *
 */
public class StandDataItem implements Serializable{
	
	/**
	 * 
	 */
	private static final long serialVersionUID = -3637176796189611674L;
	
	public static enum UpdateType{APPEND,REPLACE}; // 数据更新两种方式  APPEND 追加更新（不删除原有状态，补充更新） REPLACE 删除原先所有的数据 再进行新增
	
	public static enum DataFormatEnum {STRING, INTEGER, LONG, DOUBLE, BYTES, LIST, ARRAY, DATETIME, JSON, XML}; // 数据更新两种方式  APPEND 追加更新（不删除原有状态，补充更新） REPLACE 删除原先所有的数据 再进行新增

	private Integer mpId; // monitorPointId

//	private String mainTheme; //任务所属主题域
//	
//	private String subTheme; //任务子主题域(数据分类标识)
	
	protected Date dataDate; // 数据时标
	
	protected Date colTime; // 采集时间
	
	protected UpdateType updateType = UpdateType.APPEND; //默认追加
	
	private String dataKey; //数据标识
	
	private String dataValues; //数据值 根据格式不同表示为不同格式的数据集
	
	private DataFormatEnum dataFormat; //数据格式
	
//	private List<HashMap<String, String>> dataContent; // 二维数据项的行与列
	
	private String dataFrom = ""; //MQ 从MQ获取而来 DB从数据库获取而来
	
	public StandDataItem(Integer mpId, String dataKey) {
		this.mpId = mpId;
		this.dataKey = dataKey;
	}
	

	public StandDataItem(Integer mpId, String dataKey, Date dataDate, Date colTime) {
		super();
		this.mpId = mpId;
		this.dataKey = dataKey;
		this.dataDate = dataDate;
		this.colTime = colTime;
	}




	public StandDataItem() {
		
	}
	
//	public String getMainTheme() {
//		return mainTheme;
//	}
//
//	public void setMainTheme(String mainTheme) {
//		this.mainTheme = mainTheme;
//	}
//
//	public String getSubTheme() {
//		return subTheme;
//	}
//
//	public void setSubTheme(String subTheme) {
//		this.subTheme = subTheme;
//	}

	public Integer getMpId() {
		return mpId;
	}

	public void setMpId(Integer mpId) {
		this.mpId = mpId;
	}
	
	public Date getDataDate() {
		return dataDate;
	}

	public void setDataDate(Date dataDate) {
		this.dataDate = dataDate;
	}

	public Date getColTime() {
		return colTime;
	}

	public void setColTime(Date colTime) {
		this.colTime = colTime;
	}
	
	public String getDataKey() {
		return dataKey;
	}

	public void setDataKey(String dataKey) {
		this.dataKey = dataKey;
	}

	public String getDataValues() {
		return dataValues;
	}
	
	public void setData(String dataValues,DataFormatEnum dataFormat) {
		this.dataValues = dataValues;
		this.dataFormat = dataFormat;
	}

	public void setDataValues(String dataValues) {
		this.dataValues = dataValues;
	}

	public DataFormatEnum getDataFormat() {
		return dataFormat;
	}

	public void setDataFormat(DataFormatEnum dataFormat) {
		this.dataFormat = dataFormat;
	}

	public UpdateType getUpdateType() {
		return updateType;
	}

	public void setUpdateType(UpdateType updateType) {
		this.updateType = updateType;
	}

	public String getDataFrom() {
		return dataFrom;
	}

	public void setDataFrom(String dataFrom) {
		this.dataFrom = dataFrom;
	}

}
